package com.sh.data.engine.domain.normalization.modeldesign.busmatrix.model.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author : changkong
 * @date : 2022/1/10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BusMatrixDomain {
    private List<FactRow> factRowList;

    private List<DimCol> dimColList;

    private List<List<RelItem>> relItemList;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class FactRow {

        private Long id;

        private String name;

        private String desc;

        private boolean isRefModel;

        private Long factModelId;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DimCol {

        private Long id;

        private String name;

        private boolean isRefModel;

        private Long dimModelId;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class RelItem {
        /**
         * 逻辑关联
         */
        private Integer logicRel;

        /**
         * 业务关联
         */
        private Integer bizRel;
    }
}
